package persistencia.carreras.ensambladores.general;

import persistencia.compartido.MicroEnsamblador;
import modelo.geometria.Figura;
import modelo.geometria.Vector;
import modelo.geometria.Rectangulo;

public class EnsambladorRectangulo extends MicroEnsamblador<Figura> {
	@Override
	public String escribir(Figura microEntidad) {
		String resultado = null;
		if (microEntidad instanceof Rectangulo) {
			Rectangulo rectangulo = (Rectangulo)microEntidad;
			Double x = rectangulo.getCentro().getX();
			Double y = rectangulo.getCentro().getY();
			Double largo = rectangulo.getLargo();
			Double ancho = rectangulo.getAncho();
		
			resultado = x +sep+ y +sep+ largo +sep+ ancho;
			resultado+= en + Rectangulo.class.getSimpleName();
		}
		return resultado;
	}

	public static Rectangulo leerRectangulo(String figura) {
		String[] campos = figura.split(en);
		
		Rectangulo r = null;
		String clase = getTipo(campos);
		if (clase.compareTo(Rectangulo.class.getSimpleName()) == 0) {
			String[] valores = getValores(campos).split(sep);

			double x = Double.valueOf(valores[0]);
			double y = Double.valueOf(valores[1]);
			double largo = Double.valueOf(valores[2]);
			double ancho = Double.valueOf(valores[3]);

			r = new Rectangulo(new Vector(x,y), largo, ancho);
		}
		return r;
	}
	
	@Override
	public Figura leer(String microEntidad) {
		return leerRectangulo(microEntidad);
	}
}
